package org.club.common.model.entity;

import java.time.LocalDateTime;

import lombok.Data;
import lombok.NoArgsConstructor;
import org.club.common.model.dto.UsersDto;

@Data
@NoArgsConstructor
public class User {
    // 主键ID，自增
    private Long id;

    // 用户名（唯一）
    private String username;

    // 密码（PBKDF2加盐哈希存储）
    private String password;

    // 邮箱（唯一）
    private String email;

    // 手机号（唯一）
    private String phone;

    // 头像OSS地址
    private String avatarUrl;

    // 创建时间（数据库自动生成）
    private LocalDateTime createdAt;

    // 最后登录时间
    private LocalDateTime lastLogin;

    // 用户状态（0:禁用，1:启用）
    private Integer status;
    private String realName;//真实姓名
    private String idCard;//身份证号
    // 带参构造方法（用于将UserDao转换为User）
    public User(UsersDto usersDto) {
        if (usersDto != null) {
            this.id = usersDto.getId();
            this.username = usersDto.getUsername();
            this.password = usersDto.getPassword();
            this.email = usersDto.getEmail();
            this.phone = usersDto.getPhone();
            this.avatarUrl = usersDto.getAvatarUrl();
            this.createdAt = usersDto.getCreatedAt();
            this.lastLogin = usersDto.getLastLogin();
            this.status = usersDto.getStatus();
            this.realName = usersDto.getReal_name();
            this.idCard = usersDto.getId_card();
        }
    }
}
